package com.runewbie.pafcmall.search.vo;

import com.runewbie.common.to.es.SkuEsModel;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @author: li_jian
 * @version: 1.0
 * @date: 2020/6/28 19:36
 * @description： 商品检索信息返回
 */
@Data
public class SearchResult {

    /** 查询到的所商品信息 */
    private List<SkuEsModel> products;

    // 以下是分页信息
    /** 当前页码 */
    private Long pageNum;
    /** 总记录数 */
    private Long total;
    /** 总页码数 */
    private Long totalPages;
    /** 导航页码 */
    private List<Integer> pageNavs;
    /** 当前查询到的结果，所涉及到的所有品牌 */
    private List<BrandVo> brands;
    /** 当前查询到的结果，所涉及到的所有分类 */
    private List<CatalogVo> catalogs;
    /** 当前查询到的结果，所涉及到的所有属性 */
    private List<AttrVo> attrs;
    /** 面包屑导航 */
    private List<NavVo> navs = new ArrayList<>();
    private List<Long> attrIds = new ArrayList<>();


    //以上是返回给页面的信息
    /**
     * 面包屑导航信息
     */
    @Data
    public static class NavVo{
        private String navName;
        private String navValue;
        private String link;
    }

    /**
     * 品牌信息
     */
    @Data
    public static class BrandVo{
        private Long brandId;
        private String brandName;
        private String brandImg;
    }

    /**
     * 分类信息
     */
    @Data
    public static class CatalogVo{
        private Long catalogId;
        private String catalogName;
    }

    /**
     * 属性信息
     */
    @Data
    public static class AttrVo{
        private Long attrId;
        private String attrName;
        private List<String> attrValue;
    }
}
